Generally described, computing devices and communication networks can be utilized to exchange information. In a common application, a computing device can request content from another computing device via the communication network. For example, a user at a personal computing device can utilize a software browser application, typically referred to as a browser software application, to request a Web page from a server computing device via the Internet. In such embodiments, the user computing device can be referred to as a client computing device and the server computing device can be referred to as a content provider.
With reference to an illustrative example, a requested Web page, or original content, may be associated with a number of additional resources, such as images or videos, which are to be displayed with the Web page. In one specific embodiment, the additional resources of the Web page are identified by a number of embedded resource identifiers, such as uniform resource locators (“URLs”). In turn, software on the client computing devices, such as a browser software application, typically processes embedded resource identifiers to generate requests for the content. Accordingly, in order to satisfy a content request, one or more content providers will generally provide client computing devices data associated with the Web page as well as the data associated with the embedded resources.
From the perspective of a user utilizing a client computing device, a user experience can be defined in terms of the performance and latencies associated with obtaining network content over a communication network, such as obtaining a Web page, processing embedded resource identifiers, generating requests to obtain embedded resources, rendering content on the client computing device, and interacting with the rendered content on the client computing device. Latencies and performance limitations of any of the above processes may diminish the user experience. Additionally, latencies and inefficiencies may be especially apparent on computing devices with limited resources, such as processing power, memory or network connectivity such as netbooks, tablets, smartphones, and the like.
In some web browsing situations, a user has a specific amount of time for browsing and consuming content. For example, the user may have a half hour during the morning or an hour before bed to browse the web (e.g., read news articles or watch videos). However, finding content that is of interest to the user during this browsing period can be difficult. For example, the user may have to visit a number of web pages or web sites to find information that the user is interested in reading or watching. Furthermore, the user may have to pick and choose information from a variety of sources (while ignoring content that is not of interest) in order to find the content that the user wants to view. This process of identifying relevant content from various sources for a particular browsing session can be time consuming and inefficient.